package com.wnxy;

import java.lang.ref.SoftReference;
import java.util.ArrayList;
import java.util.List;

/**
 * 对象引用
 * VM Args: -Xms10m -Xmx10m 堆内存
 */
public class App6 {
    // 定义List集合
    private static List<Object> list = new ArrayList<Object>();
    // 软引用测试
    private static void testSoftReference() {
        // 循环创建软引用对象
        for (int i = 0; i < 10; i++) {
            byte[] buff = new byte[1024 * 1024];
            SoftReference<byte[]> sr = new SoftReference<byte[]>(buff);
            list.add(sr);
        }
        System.gc(); //主动通知垃圾回收
        for(int i=0; i < list.size(); i++){
            Object obj = ((SoftReference) list.get(i)).get();
            System.out.println(obj);
        }
    }
    public static void main(String[] args) {
        testSoftReference();
    }
}